前提・実現したいこと
python のopenpyxlでエクセルのグラフを作成しました。
グラフのタイトル(セルやグラフ軸タイトルではない)の文字の大きさを変えたいのですが、その方法が見つけられません。どのようにすればよいか、知っている方がいたらご指導いただけないでしょうか?
(いろいろ、調べたのですが、グラフの軸のフォントサイズ変更の方法や、エクセルのセルのフォントサイズ変更方法は見つけられたのですが、グラフのタイトルの文字サイズの方法が、いまだ見つけられておりません。)
使用PCOS:Windows10です。
python3.7使用
サンプルコードを提示いただくと回答できるかもしれません。
初めての質問のために、サンプルコードを書き忘れてしまいました。以下にサンプルコードをしめします。
よろしくお願いします。
# #################################################
# -*- coding:utf-8 -*-
#
# 引用元
# <<https://hogelog.com/python/openpyxl-excel-chart-1.html>>
import os
import numpy as np
import openpyxl
from openpyxl import Workbook
from openpyxl.chart import ScatterChart, Reference, Series
dirname = os.path.expanduser("~")
filename = "openpyxl_chart.xlsx"
xlfile = os.path.join(dirname, "Desktop", filename)
# workbook and worksheet
wb = Workbook()
ws = wb.create_sheet("sht0", 0)
# データ作成 (仮データ 本来はCSVファイルから読み込む)
X = np.arange(0, 100, 10)
Y1 = X ** 2
len_data = len(X)
num_series = 1
# Excelへ書き込み
ws.cell(row=1, column=1, value="X")
ws.cell(row=1, column=2, value="Y1")
for i in range(0, len_data):
ws.cell(row=i + 2, column=1, value=X[i])
ws.cell(row=i + 2, column=2, value=Y1[i])
# ScatterChartオブジェクト作成
chart = ScatterChart()
# xの範囲を設定
min_row = 2
max_row = min_row + len_data - 1
x_values = Reference(ws, min_col=1, min_row=min_row, max_row=max_row)
# yの範囲を設定
min_col = 2
values = Reference(ws, min_col=min_col, min_row=min_row, max_row=max_row)
# グラフの追加
# ########################################################################
# ここのtitleのフォントサイズを変更したいです。
series = Series(values, x_values, title="グラフタイトル←ここのフォントサイズを変更したい")
# ########################################################################
chart.series.append(series)
ws.add_chart(chart, "D6")
# 保存
wb.save(xlfile)
質問は編集出来ますので、コードは質問に追記してください。(ここの欄は他の回答者の目に付きにくいのとインデントがないと見ずらいため) 質問に追記する際はマークダウンで書いてくださいね。(「コードの挿入」機能が使えます)
すみません。初めてなのもので、勝手がわかりませんでした。ご指摘ありがとうございます。
下記で出来そうな情報を見つけたのですが、試したら出来ませんでした。。(エラーも出なかったんですけどね)
chart.title.tx.rich.p[0].r[0].rpr = CharacterProperties(sz=100)
ご検討ありがとうございます。
最初は簡単にできると思っていたんですが、難しいですね。こちらも、いろいろとしらべていますが、未だに解決方法が見つけられていません。
ご指摘を検討した結果、自己解決できました。ありがとうございました。
回答1件
あなたの回答
tips
プレビュー