我的问题要求是用低分辨率的曲线重新绘制一个图形。如下图所示:
有没有一种方法可以用matplotlib库或任何图像处理解决方案来实现?目前matplotlib正在生成具有非常高平滑度的线条,如下所示:
下面是我使用的绘图函数:
with open('points.csv') as csv_file:
csv_reader = csv.reader(csv_file, delimiter=',')
for row in csv_reader:
x = float(row[0])
y = float(row[1])
arr.append([x, y])
data = list(arr)
plt.plot(*zip(*data), color='black', linewidth=0.5, alpha=1.0)
plt.savefig("report.png")
数据示例:
617,21.550045745097
617.25,21.4286797104602
617.5,21.3023081618079
617.75,21.1830623411815
618,21.0748879703542
Note: Low resolution data curve only
1条答案
按热度按时间6rqinv9w1#
您可以通过在调用
plt.plot
或ax.plot
时将antialiased
kwarg更改为False
来接近此效果,这将控制线条是否平滑。考虑以下情况: