pyqt用QChart生成折线图每一个点都要用圆点显示并自适应大小
时间: 2024-04-30 10:22:34 浏览: 266
可以通过设置QLineSeries的symbol属性来实现每个点用圆点显示,并通过QAbstractAxis的setRange和setTickCount方法自适应大小。
示例代码:
```python
from PyQt5.QtChart import QChart, QLineSeries, QValueAxis, QChartView
from PyQt5.QtCore import Qt
# 创建折线图
chart = QChart()
chart.setTitle('Line Chart')
# 创建数据系列
series = QLineSeries()
series.setName('Series 1')
series.append(0, 0)
series.append(1, 1)
series.append(2, 2)
series.append(3, 3)
series.append(4, 4)
# 设置每个点用圆点显示
symbol = series.symbol()
symbol.setBrush(Qt.red)
symbol.setSize(10)
# 添加数据系列到图表中
chart.addSeries(series)
# 创建X轴和Y轴
axis_x = QValueAxis()
axis_x.setRange(0, 4)
axis_x.setTickCount(5)
axis_x.setTitleText('X Axis')
chart.addAxis(axis_x, Qt.AlignBottom)
axis_y = QValueAxis()
axis_y.setRange(0, 4)
axis_y.setTickCount(5)
axis_y.setTitleText('Y Axis')
chart.addAxis(axis_y, Qt.AlignLeft)
# 将X轴和Y轴与数据系列关联
series.attachAxis(axis_x)
series.attachAxis(axis_y)
# 创建图表视图并显示
chart_view = QChartView(chart)
chart_view.setRenderHint(QPainter.Antialiasing)
chart_view.resize(800, 600)
chart_view.show()
```
在上述代码中,通过设置symbol的brush属性来设置圆点的颜色,设置symbol的size属性来设置圆点的大小。通过setRange方法设置X轴和Y轴的范围,通过setTickCount方法设置轴上刻度的数量。这样就可以自适应大小了。
阅读全文