Indice
- Recursos utilizados
- Estructura
- Parámetros
- Personalización
- Estilos
- Agregar gráfico
- Optimización
- Otros gráficos
- Fuentes
- Previsualización
pip install PySide2
Estructura de creación:
- QBarSet
- QBarSeries
- QBarCategoryAxis
- QValueAxis
- QChart
- QChartView
Estructura de creación:
- QPieSlice
- QPieSeries
- QChart
- QChartView
- Parentgrid: QGridLayout para ubicar el el gráfico generado
- teme 1: predeterminado | teme 2: personalizado
def __init__(self, parentgrid, theme=1):
En todos estos parametros es en donde se customiza el grafico.
- setTitleBrush
- setLabelColor
- setGridLineColor
- setGridLineVisible
- setBackgroundVisible
- setMarkerShape
- setTitleFont
- setFont
- setContentsMargins
- setBackgroundRoundness
Estos se encuentra de manera directa en el else
de Personalizado, en aqui podras realizar dichos cambios.
Grafico de Barras
# definir color de letras /-/-/-/
chartView.chart().setTitleBrush(QColor("white")) # titulo
chartView.chart().axisX().setLabelsBrush(QColor("white")) # valor derecho
chartView.chart().axisY().setLabelsBrush(QColor("white")) # valor inferior
chartView.chart().legend().setLabelColor(QColor("white")) # etiquetas
chartView.chart().axisX().setGridLineColor(QColor("white")) # grid horizontal
chartView.chart().axisY().setGridLineColor(QColor("white")) # grid vertical
chartView.chart().axisX().setTitleBrush(QColor("white")) # color titulo down
chartView.chart().axisY().setTitleBrush(QColor("white")) # color titulo left
# personalizacion de fondo /-/-/-/
chartView.chart().setBackgroundVisible(False) # quitar color
chartView.setBackgroundBrush(QColor("#141f24")) # asignar color
Grafico Pie
# definir color de letras /-/-/-/
chartView.chart().setTitleBrush(QColor("white")) # titulo
chartView.chart().legend().setLabelColor(QColor("white")) # etiquetas
# personalizacion de fondo /-/-/-/
chartView.chart().setBackgroundVisible(False) # quitar color
chartView.setBackgroundBrush(QColor("#141f24")) # asignar color
Temas - Gráficos |
---|
QtCharts.QChart.ChartThemeLight |
QtCharts.QChart.ChartThemeBlueCerulean |
QtCharts.QChart.ChartThemeDark |
QtCharts.QChart.ChartThemeBrownSand |
QtCharts.QChart.ChartThemeBlueNcs |
QtCharts.QChart.ChartThemeHighContrast |
QtCharts.QChart.ChartThemeBlueIcy |
QtCharts.QChart.ChartThemeQt |
Temas - Leyenda |
---|
QtCharts.QLegend.MarkerShapeDefault |
QtCharts.QLegend.MarkerShapeRectangle |
QtCharts.QLegend.MarkerShapeCircle |
QtCharts.QLegend.MarkerShapeFromSeries |
Animaciones - Gráficos |
---|
QtCharts.QChart.NoAnimation |
QtCharts.QChart.SeriesAnimations |
QtCharts.QChart.AllAnimations |
QtCharts.QChart.GridAxisAnimations |
Ubicación - Etiquetas |
---|
QtCharts.QAbstractBarSeries.LabelsCenter |
QtCharts.QAbstractBarSeries.LabelsOutsideEnd |
QtCharts.QAbstractBarSeries.LabelsInsideEnd |
QtCharts.QAbstractBarSeries.LabelsInsideBase |
Ubicación - Etiquetas |
---|
QtCharts.QPieSlice.LabelOutside |
QtCharts.QPieSlice.LabelInsideHorizontal |
QtCharts.QPieSlice.LabelInsideTangential |
QtCharts.QPieSlice.LabelInsideNormal |
Simplemente lo agregamos el chartView
a nuesto QGridLayout
parentgrid.addWidget(chartView, 0, 0)
Para ello debemos tener en cuenta que cada vez que se agrega un widget, este se posiciona encima del otro.
Para evitar ese caso, debemos remover todos los widgets que se encuentren en el QGridLayout
y posteriormente agregarlo (esto ya viene integrado en el script).
# 7. RESTABLECER WIDGETS *-*-*-*-*-*-*-*-*-*-*
for i in reversed(range(parentgrid.count())):
parentgrid.itemAt(i).widget().deleteLater()
No solo existen unicamenten estos dos gráficos; sin embargo son los más usados, pero si deseas adentrarte mas en este tema en Qter podras ver otros tipos con su respectivo script.
Gráfico de Barras
Gráfico Pie