修改QLineSeries上点的样式
时间: 2024-03-28 15:42:18 浏览: 151
要修改 QLineSeries 上点的样式,可以使用 QScatterSeries 类。可以先将 QLineSeries 和 QScatterSeries 绑定在一起,然后再修改 QScatterSeries 上的点的样式。以下是一个修改 QLineSeries 上点的样式的示例代码:
```python
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow
from PyQt5.QtChart import QChart, QChartView, QLineSeries, QScatterSeries, QSplineSeries
from PyQt5.QtGui import QPainter
from PyQt5.QtCore import Qt
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
# 创建 QChart 对象和 QChartView 对象
chart = QChart()
chart_view = QChartView(chart, self)
# 创建 QLineSeries 对象和 QScatterSeries 对象
line_series = QLineSeries()
scatter_series = QScatterSeries()
# 将 QScatterSeries 绑定到 QLineSeries 上
line_series.setPointsVisible(True)
line_series.setPointLabelsVisible(True)
line_series.setPointLabelsFormat("@yPoint")
line_series.setPointLabelsColor(Qt.red)
line_series.setPointLabelsFont(QFont("Arial", 10))
line_series.setPen(QPen(Qt.red))
line_series.setName("Line Series")
chart.addSeries(line_series)
scatter_series.setMarkerShape(QScatterSeries.MarkerShapeCircle)
scatter_series.setMarkerSize(10.0)
scatter_series.setColor(Qt.red)
scatter_series.setBrush(Qt.red)
scatter_series.setOpacity(0.7)
scatter_series.setName("Scatter Series")
chart.addSeries(scatter_series)
# 创建坐标轴
axis_x = QDateTimeAxis()
axis_x.setTickCount(10)
axis_x.setFormat("MM-dd")
axis_x.setTitleText("日期")
chart.addAxis(axis_x, Qt.AlignBottom)
axis_y = QValueAxis()
axis_y.setLabelFormat("%.2f")
axis_y.setTitleText("数值")
chart.addAxis(axis_y, Qt.AlignLeft)
line_series.attachAxis(axis_x)
line_series.attachAxis(axis_y)
scatter_series.attachAxis(axis_x)
scatter_series.attachAxis(axis_y)
chart.setTitle("Line Series and Scatter Series")
chart.legend().setVisible(True)
chart.legend().setAlignment(Qt.AlignBottom)
chart_view.setRenderHint(QPainter.Antialiasing)
self.setCentralWidget(chart_view)
# 修改 QScatterSeries 上点的样式
scatter_series.setPen(QPen(Qt.blue))
scatter_series.setBrush(Qt.blue)
scatter_series.setMarkerShape(QScatterSeries.MarkerShapeRectangle)
scatter_series.setMarkerSize(15.0)
if __name__ == '__main__':
app = QApplication(sys.argv)
main_window = MainWindow()
main_window.show()
sys.exit(app.exec_())
```
在上述示例代码中,我们创建了一个 QLineSeries 对象和一个 QScatterSeries 对象,并将它们绑定在一起。然后,我们修改了 QScatterSeries 上点的样式,包括线条颜色、填充颜色、标记形状和标记大小等。最后,我们将 QScatterSeries 添加到 QChart 中并显示出来。
阅读全文
相关推荐
















