У меня есть список данных для построения с использованием гистограмм.Я хочу масштабировать y-axis
каждого графика отдельно.Если мне нравится следующее, он масштабирует y-axis
каждого графика на 10.
protocols = {}
types = {"data1": "data1.csv", "data2": "data2.csv", "data3": "data3.csv"}
for protname, values in protocols.items():
fig, ax1 = plt.subplots()
ax1.hist(values["col_data"], facecolor='blue', alpha=0.9, label=protname,align='left')
y_vals = ax1.get_yticks()
ax1.set_yticklabels(['{:3.0f}'.format(x * 10) for x in y_vals])
plt.legend()
plt.show()
Однако я хочу, чтобы масштабирование было отдельным для каждой гистограммы.Я попробовал это следующим образом, но, похоже, он не работает должным образом.
for protname, values in protocols.items():
fig, ax1 = plt.subplots()
ax1.hist(values["col_data"], facecolor='blue', alpha=0.9, label=protname,align='left')
y_vals = ax1.get_yticks()
ax1.set_yticklabels(['{:3.0f}'.format(x * 10) for x in y_vals if protname=="data1" and ['{:3.0f}'.format(x * 10) for x in y_vals if protname=="data2" and ['{:3.0f}'.format(x * 15) for x in y_vals if protname=="data3"]]])
plt.legend()
plt.show()
Если мы попробуем ТОЛЬКО для одного графика как ax1.set_yticklabels(['{:3.0f}'.format(x * 10) for x in y_vals if protname=="data2"])
, то изменения будут применены только ко второму графику, а остальные останутся пустыми.