如何使用chartify添加多个Y轴来绘制肘部曲线
How to add multiple Y axis with chartify to draw Elbow curves
我想创建一个折线图,但有 2 个不同比例的 Y 轴来替换这段生成 2 个图表的代码:
ch = chartify.Chart(blank_labels=True)
ch.set_title("Elbow method with Euclidian distance")
ch.plot.line(
data_frame=df_elbow,
x_column='K',
y_column='Distortion',
line_width=1)
ch.show()
ch = chartify.Chart(blank_labels=True)
ch.set_title("Elbow method with sum of squared errors")
ch.plot.line(
data_frame=df_elbow,
x_column='K',
y_column='SSE',
line_width=1)
ch.show()
谢谢!
更新:
第二个 y 轴图已经实现!参见 chartify.examples.chart_second_axis()
旧答案:
目前不支持第二个 y 轴图,但我会为其添加一个 issue。谢谢建议!
现在我建议重新使用散景。 See an example here.
谢谢,这是我在等待 chartify 支持 2 轴时使用 Bokeh 图所做的:
import bokeh.plotting
from bokeh.models import LinearAxis, Range1d
ch = chartify.Chart(blank_labels=True)
ch.set_title("Elbow method to find optimal K")
ch.set_subtitle("Euclidian distance (Blue) and sum of squared errors (Red)")
ch.figure.y_range = Range1d(5, 14)
ch.figure.line(x=df_elbow['K'], y=df_elbow['Distortion'], line_width=1, line_color="Blue")
ch.figure.extra_y_ranges = {"sum": Range1d(start=200000, end=1200000)}
ch.figure.add_layout(LinearAxis(y_range_name="sum"), 'right')
ch.figure.line(x=df_elbow['K'], y=df_elbow['SSE'], line_width=1, y_range_name='sum', line_color="Red")
ch.show()
我想创建一个折线图,但有 2 个不同比例的 Y 轴来替换这段生成 2 个图表的代码:
ch = chartify.Chart(blank_labels=True)
ch.set_title("Elbow method with Euclidian distance")
ch.plot.line(
data_frame=df_elbow,
x_column='K',
y_column='Distortion',
line_width=1)
ch.show()
ch = chartify.Chart(blank_labels=True)
ch.set_title("Elbow method with sum of squared errors")
ch.plot.line(
data_frame=df_elbow,
x_column='K',
y_column='SSE',
line_width=1)
ch.show()
谢谢!
更新:
第二个 y 轴图已经实现!参见 chartify.examples.chart_second_axis()
旧答案: 目前不支持第二个 y 轴图,但我会为其添加一个 issue。谢谢建议!
现在我建议重新使用散景。 See an example here.
谢谢,这是我在等待 chartify 支持 2 轴时使用 Bokeh 图所做的:
import bokeh.plotting
from bokeh.models import LinearAxis, Range1d
ch = chartify.Chart(blank_labels=True)
ch.set_title("Elbow method to find optimal K")
ch.set_subtitle("Euclidian distance (Blue) and sum of squared errors (Red)")
ch.figure.y_range = Range1d(5, 14)
ch.figure.line(x=df_elbow['K'], y=df_elbow['Distortion'], line_width=1, line_color="Blue")
ch.figure.extra_y_ranges = {"sum": Range1d(start=200000, end=1200000)}
ch.figure.add_layout(LinearAxis(y_range_name="sum"), 'right')
ch.figure.line(x=df_elbow['K'], y=df_elbow['SSE'], line_width=1, y_range_name='sum', line_color="Red")
ch.show()