λ°μ΄ν°λ₯Ό μ°¨νΈλ‘ μκ°ννλ λ°©λ²
μ°¨νΈ(Chart)
λ₯Ό νμ©νλ©΄ λ°μ΄ν°λ₯Ό λ³΄λ€ μ§κ΄μ μΌλ‘ μ΄ν΄ν μ μκ² μκ°νν μ μμ΅λλ€.
λ¬Όλ‘ , λ¨μν λ°μ΄ν°λ₯Ό λ€λ£° λλ μμ μ κΈ°λ₯μ νμ©ν΄ μ°¨νΈλ₯Ό μ§μ 그리λ κ²μ΄ λ λΉ λ¦ λλ€.
κ·Έλ¬λ λκ·λͺ¨ λ°μ΄ν°λ μμ£Ό μ λ°μ΄νΈλλ λ°μ΄ν°λ₯Ό λ€λ£° λλ νλ‘κ·Έλ¨μ ν΅ν΄ μ°¨νΈ μμ±μ μλννλ κ²μ΄ ν¨μ¬ ν¨μ¨μ μ λλ€.
openpyxl
λ μ°¨νΈλ₯Ό μ½λλ‘ μμ±ν μ μλ μ μ©ν λ©μλλ₯Ό μ 곡ν©λλ€.
μ΄λ² μμ μμλ openpyxlμ νμ©ν΄ μμ νμΌμ μ°¨νΈλ₯Ό μΆκ°νλ λ°©λ²μ λ°°μλ³΄κ² μ΅λλ€.
μ°Έκ³ : λ³Έ μμ μ
λΌμΈ μ°¨νΈ
μλ§λ μ°¨νΈ
λ₯Ό λ§λλ λ°©λ²μ μκ°ν©λλ€. νμ§λ§ openpyxlμ λλ μ°¨νΈ, νμ΄ μ°¨νΈ λ± λ€μν μ°¨νΈ μ νλ μ§μν©λλ€.
λΌμΈ μ°¨νΈ(Line Chart) μμ±νκΈ°
λΌμΈ μ°¨νΈ
λ μκ°μ νλ¦μ λ°λ₯Έ λ°μ΄ν° λ³νλ₯Ό μκ°μ μΌλ‘ λνλΌ λ μμ£Ό μ¬μ©ν©λλ€.
λ€μμ openpyxlμ μ¬μ©ν΄ λΌμΈ μ°¨νΈλ₯Ό μμ±νλ μ½λ μμ μ λλ€.
from openpyxl import Workbook from openpyxl.chart import LineChart, Reference # μλ‘μ΄ μν¬λΆ μμ± wb = Workbook() # νμ± μνΈ μ ν ws = wb.active # λ°μ΄ν° μ λ ₯ (μ: μλ³ ν맀λ) data = [ ['μ', 'ν맀λ'], ['1μ', 30], ['2μ', 40], ['3μ', 50], ['4μ', 20], ['5μ', 60], ] for row in data: ws.append(row) # μ°¨νΈ μμ± line_chart = LineChart() # μ°¨νΈ λ°μ΄ν° μ°Έμ‘° (B2λΆν° B6κΉμ§) data = Reference(ws, min_col=2, min_row=2, max_row=6) # XμΆ(μΉ΄ν κ³ λ¦¬) λ μ΄λΈ μ°Έμ‘° (A2λΆν° A6κΉμ§) cats = Reference(ws, min_col=1, min_row=2, max_row=6) # λ°μ΄ν°μ μ λͺ© ν¬ν¨νμ§ μμ line_chart.add_data(data, titles_from_data=False) line_chart.set_categories(cats) line_chart.title = "μλ³ ν맀λ" line_chart.x_axis.title = "μ" line_chart.y_axis.title = "ν맀λ" # μνΈμ μ°¨νΈ μΆκ° (D1 μ μμΉμ) ws.add_chart(line_chart, "A10") # νμΌ μ μ₯ wb.save("output_file.xlsx")
μ½λ μ€λͺ
-
line_chart = LineChart()
: λΌμΈ μ°¨νΈ κ°μ²΄λ₯Ό μμ± -
Reference
: μ°¨νΈμ μ¬μ©ν λ°μ΄ν° λ²μμ μΉ΄ν κ³ λ¦¬(μ)λ₯Ό μ°Έμ‘° -
line_chart.add_data(data, titles_from_data=False)
: μ°¨νΈμ λ°μ΄ν°λ₯Ό μΆκ°νκ³ , λ°μ΄ν°μ μ λͺ©μ ν¬ν¨νμ§ μμ -
line_chart.set_categories(cats)
: XμΆ(μΉ΄ν κ³ λ¦¬) λ μ΄λΈμ μ€μ -
line_chart.title
: μ°¨νΈ μ λͺ©μ μ€μ -
line_chart.x_axis.title
: XμΆ μ λͺ©μ μ€μ -
line_chart.y_axis.title
: YμΆ μ λͺ©μ μ€μ -
ws.add_chart(line_chart, "A10")
: μνΈμ μ°¨νΈλ₯Ό μΆκ°
μ μ½λλ κ°νΈν μ΄ν΄λ₯Ό λκΈ° μν΄, data
λ³μμ μλ³ ν맀λ λ°μ΄ν°λ₯Ό 리μ€νΈλ‘ μ μνμ΅λλ€.
νμ§λ§ openpyxlμ μ¬μ©νλ©΄ νμΌ κ²½λ‘(μ: C:/Users/μ¬μ©μλͺ
/Desktop/output_file.xlsx
)λ₯Ό μ§μ ν΄, μμ
νμΌμ μ§μ λΆλ¬μ λ°μ΄ν°λ₯Ό μ½μ΄μ¬ μ μμ΅λλ€.
from openpyxl import load_workbook # μμ νμΌ λΆλ¬μ€κΈ° wb = load_workbook("C:/Users/μ¬μ©μλͺ /Desktop/input_file.xlsx") ws = wb.active # λ°μ΄ν° μ½μ΄μ€κΈ° data = [] for row in ws.iter_rows(min_row=2, values_only=True): data.append(row)
λ§λ μ°¨νΈ(Bar Chart) μμ±νκΈ°
λ§λ μ°¨νΈ
λ λ°μ΄ν°μ ν¬κΈ°λ₯Ό λΉκ΅ν λ μμ£Ό μ¬μ©νλ μ°¨νΈ μ νμ
λλ€.
λ€μμ νμ΄μ¬ μ½λλ‘ λ§λ μ°¨νΈλ₯Ό μμ±νλ μ½λ μμ μ λλ€.
from openpyxl import Workbook from openpyxl.chart import BarChart, Reference # μλ‘μ΄ μν¬λΆ μμ± wb = Workbook() # νμ± μνΈ μ ν ws = wb.active # λ°μ΄ν° μ λ ₯ (μ: μλ³ μμ΅) data = [ ['μ', 'μμ΅'], ['1μ', 1000], ['2μ', 1500], ['3μ', 1200], ['4μ', 1700], ['5μ', 1300], ] for row in data: ws.append(row) # μ°¨νΈ μμ± bar_chart = BarChart() # μ°¨νΈ λ°μ΄ν° μ°Έμ‘° (B2λΆν° B6κΉμ§) data = Reference(ws, min_col=2, min_row=2, max_row=6) # XμΆ(μΉ΄ν κ³ λ¦¬) λ μ΄λΈ μ°Έμ‘° (A2λΆν° A6κΉμ§) cats = Reference(ws, min_col=1, min_row=2, max_row=6) # λ°μ΄ν°μ μ λͺ© ν¬ν¨νμ§ μμ bar_chart.add_data(data, titles_from_data=False) bar_chart.set_categories(cats) bar_chart.title = "μλ³ μμ΅" bar_chart.x_axis.title = "μ" bar_chart.y_axis.title = "μμ΅" # μνΈμ μ°¨νΈ μΆκ° (D1 μ μμΉμ) ws.add_chart(bar_chart, "A10") # νμΌ μ μ₯ wb.save("output_file.xlsx")
μ½λ μ€λͺ
-
bar_chart = BarChart()
: λ§λ μ°¨νΈ κ°μ²΄λ₯Ό μμ± -
Reference
: μ°¨νΈμ μ¬μ©ν λ°μ΄ν° λ²μμ μΉ΄ν κ³ λ¦¬(μ)λ₯Ό μ°Έμ‘° -
bar_chart.add_data(data, titles_from_data=False)
: μ°¨νΈμ λ°μ΄ν°λ₯Ό μΆκ°νκ³ , λ°μ΄ν°μ μ λͺ©μ ν¬ν¨νμ§ μμ -
bar_chart.set_categories(cats)
: XμΆ(μΉ΄ν κ³ λ¦¬) λ μ΄λΈμ μ€μ -
bar_chart.title
: μ°¨νΈ μ λͺ©μ μ€μ -
bar_chart.x_axis.title
: XμΆ μ λͺ©μ μ€μ -
bar_chart.y_axis.title
: YμΆ μ λͺ©μ μ€μ -
ws.add_chart(bar_chart, "A10")
: μνΈμ μ°¨νΈλ₯Ό μΆκ°
λ€μν μ°¨νΈ μμ±νκΈ°
openpyxlλ λΌμΈ μ°¨νΈμ λ§λ μ°¨νΈ μΈμλ νμ΄ μ°¨νΈ(Pie Chart)
, λλ μ°¨νΈ(Doughnut Chart)
, νμ€ν κ·Έλ¨(Histogram)
λ± λ€μν μ°¨νΈλ₯Ό νμμ μ§μν©λλ€.
κ° μ°¨νΈ μ νμ chart λͺ¨λμμ λ μμΈν μμλ³Ό μ μμ΅λλ€.
λ€μ μ€ λΉμΉΈμ λ€μ΄κ° κ°μ₯ μ μ ν κ°μ²΄λ 무μμΌκΉμ?
Guidelines
AI Tutor
Publish
Design
Upload
Notes
Favorites
Help
Code Editor
Execution Result
The document is empty.
Try running the code.