我正在尝试用Python制作一个平行坐标图,其中的线分为两类。我希望将它们全部绘制在一起,但为一个类别绘制虚线,以便您可以区分。我正在使用 Plotly,但看起来它不支持这样修改行。还有其他工具支持这个吗?我正在考虑 Pandas,但找不到有关 Pandas 是否支持此功能的信息。谢谢!
尝试matplotlib。与 Plotly 相比,它在自定义线条样式方面提供了更大的灵活性。以下是使用 matplotlib 执行此操作的方法:
import pandas as pd
import matplotlib.pyplot as plt
from pandas.plotting import parallel_coordinates
# Sample data
data = {
'Category': ['A', 'A', 'B', 'B'],
'Feature1': [1, 2, 3, 4],
'Feature2': [4, 3, 2, 1],
'Feature3': [2, 3, 4, 1]
}
df = pd.DataFrame(data)
# Plotting
plt.figure(figsize=(10, 6))
# Plot category A with solid lines
parallel_coordinates(df[df['Category'] == 'A'], 'Category', color=['b'], linestyle='-')
# Plot category B with dotted lines
parallel_coordinates(df[df['Category'] == 'B'], 'Category', color=['r'], linestyle=':')
plt.title('Parallel Coordinate Plot with Different Line Styles')
plt.xlabel('Features')
plt.ylabel('Values')
plt.show()