如何使用chartify添加多个Y轴来绘制弯头曲线

问题描述 投票:1回答:2

我想创建一个折线图,但是有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()

谢谢 !

python data-visualization unsupervised-learning chartify
2个回答
0
投票

更新:已实施第二个y轴图!见chartify.examples.chart_second_axis()

旧答案:目前不支持第二个y轴图,但我会添加一个issue。谢谢你的建议!

现在我建议回到Bokeh。 See an example here


0
投票

谢谢,这是我在等待图表支持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()
© www.soinside.com 2019 - 2024. All rights reserved.