2

XlsxWriter を使用して、多くの国で共通の出力製品を作成することにしました。モジュールの柔軟性には感銘を受けましたが、チャートのラベルを適切に変更する方法がわかりません。「text_wrap」機能は「set_x_axis」内に含まれていないようで、45 度回転した非常に長いラベルになります。以下に見られるように、私はとにかくそれを起こそうとしました (何が起こるかを見るためだけに)、ステートメントは無視されます.

"""Allow for text wrap for x_axis labels (doesn't seem to do anything)"""
chart_list[2].set_x_axis({'text_wrap':True})

その結果、チャート エリアは外部境界で指定された寸法を維持しますが、プロット エリア自体はラベルの長さに支配されます。これを行う方法を知っている人はいますか?現在、私の唯一の(準)解決策は、フォントサイズを小さくして略語を使用することです. これにより、明確さが失われ、説明テキストの余地がありません。

更新: 要求されたラベルの長さを示すコード ブロックを含めています。(遅れてすみません。私は水浸しになってしまい、それを置かなければなりませんでした。) 希望のラベルの長さを見ることができます。それらは斜めに出てきて、チャート領域を押しつぶしてしまいます. 私はあなたの修正をまだテストできていませんが、私が意図したことの詳細をあなたに返す必要があると感じました. これらのラベルを斜めではなく折り返すようにしたいと思います (ラベルの向きとして一般的に説明しました)。ご覧いただきありがとうございます。(そして、はい、ラベルが間違っていました。カテゴリ ラベルを意味していました...)

 """Chart III - Macro-Level Comparisons in Euros >>> 
    (GDP per capita,Average Gross Annual Salary, Government Expenditure per capita) translates to ...
    Index(Per Capita GDP (Euros), Average gross annual salary (Euros), Public Expenditure Per Capita (€))
    DATA: All must be written to new sheet from outdset_build(country)
    """
    #Create list of relevant figures (have to use lev distance because the euro symbol causes match problems)
    chart3_figures=['Per Capita GDP (Euros)', 'Average gross annual salary (Euros)', 'Public Expenditure Per Capita (€)']
    c3_figs=[]
    for i in range(len(chart3_figures)):
        figs=process.extract(chart3_figures[i],outdset_build(country).index.get_level_values('figure'),limit=1)[0]
        c3_figs.append(figs[0])
    #Generate subindex to subset data 
    chart3_index=outdset_build(country).index.get_level_values('figure').isin(c3_figs)
    #Subset data
    chart3_data=outdset_build(country)[chart3_index]

    #Create new sheet
    temp_data=jagx.add_worksheet('misc_data')

    #Write data to new sheet
    temp_data.write_row('A1',['index','EU','EU-10','CROATIA'])
    temp_data.write_column('A2', ['Per Capita GDP','Average Gross Annual Salary', \
                                  'Public Expenditure Per Capita'])
    temp_data.write_column('B2',chart3_data['EU'])
    temp_data.write_column('C2',chart3_data['EU-10'])
    temp_data.write_column('D2',chart3_data[country])

    #Configure series
    chart_list[2].add_series({
          'name':'EU',
          'categories':'misc_data!A2:A4',
          'values':'misc_data!B2:B4'
    })
    chart_list[2].add_series({
          'name':'EU-10',
          'categories':'misc_data!A2:A4',
          'values':'misc_data!C2:C4'
    })
    chart_list[2].add_series({
          'name':'CROATIA',
          'categories':'misc_data!A2:A4',
          'values':'misc_data!D2:D4'
    })
    #Add title 
    chart_list[2].set_title({'name':'Macro-level Comparison in Euros (per capita)','name_font':{'size':9}})
4

1 に答える 1