Как мне добавить легенду к моей диаграмме, которая включает две серии? - PullRequest
0 голосов
/ 03 ноября 2019

Следующий скрипт создает лист с двумя столбцами. Из этих двух столбцов я создал диаграмму. Затем я попытался разместить легенду справа от оси, но по какой-то причине легенда не видна. Подскажите, пожалуйста, почему я не вижу легенду?

Кстати, я пытался сделать это безуспешно (один из них помечен как примечание)

chart = LineChart()
chart.title = "Device Time drift (2 samples/hour)"
chart.legend.position = 'r'
# chart.legend.layout = Layout(
#     manualLayout=ManualLayout(
#         yMode='edge',
#         xMode='edge',
#         x=0, y=0.9,
#         h=0.1, w=0.5
#     )
# )
chart.style = 10
chart.y_axis.title = 'Time Delta [mSec]'
chart.x_axis.title = 'Sample No.'
chart.legend = None
chart.height = 20  # default is 7.5
chart.width = 40  # default is 15

font = Font(typeface='Verdana')
size = 1200  # 14 point size
cp = CharacterProperties(latin=font, sz=size, b=False)  # Not bold
pp = ParagraphProperties(defRPr=cp)

# X and Y axes titles
chart.x_axis.title.tx.rich.p[0].pPr = pp
chart.y_axis.title.tx.rich.p[0].pPr = pp

data = Reference(worksheet=ws_write_timedel, min_col=1, min_row=1,
                 max_row=len(ws_write_timedel['A']), max_col=2, )

chart.add_data(data, titles_from_data=True,)
s1 = chart.series[0]
s1.graphicalProperties.line.solidFill = "00AAAA"
s1.graphicalProperties.line.dashStyle = "sysDot"
s1.graphicalProperties.line.width = 100050  # width in EMUs

s2 = chart.series[1]
s2.smooth = True

ws_write_timedel.add_chart(chart, "D1")enter code here

1 Ответ

0 голосов
/ 04 ноября 2019

Следующий скрипт является фиксированной версией, и теперь легенда добавляется на график

chart = LineChart()
chart.title = "Device Time drift (2 samples/hour)"
chart.legend.position = 'r'
chart.style = 10
chart.y_axis.title = 'Time Delta [mSec]'
chart.x_axis.title = 'Sample No.'
chart.height = 20  # default is 7.5
chart.width = 40  # default is 15

font = Font(typeface='Verdana')
size = 1200  # 14 point size
cp = CharacterProperties(latin=font, sz=size, b=False)  # Not bold
pp = ParagraphProperties(defRPr=cp)

# X and Y axes titles
chart.x_axis.title.tx.rich.p[0].pPr = pp
chart.y_axis.title.tx.rich.p[0].pPr = pp

data = Reference(worksheet=ws_write_timedel, min_col=1, min_row=1,
             max_row=len(ws_write_timedel['A']), max_col=2, )

chart.add_data(data, titles_from_data=True,)
s1 = chart.series[0]
s1.graphicalProperties.line.solidFill = "00AAAA"
s1.graphicalProperties.line.dashStyle = "sysDot"
s1.graphicalProperties.line.width = 100050  # width in EMUs

s2 = chart.series[1]
s2.smooth = True

ws_write_timedel.add_chart(chart, "D1")enter code here
...