- Questo topic ha 4 risposte, 4 partecipanti ed è stato aggiornato l'ultima volta 14 anni, 1 mese fa da .
-
Topic
-
Ciao a tutti.Nella tesi dovrò inserire alcuni istogrammi, e ho deciso di farli con pgfplots; ho usato l’articolo di Lorenzo Pantieri come guida.
Tuttavia dovrei assegnare a ciascuna barra un colore diverso; non ho trovato sul manuale come farlo (quindi penso non si possa fare), perciò ho pensato che bastava scorporare i dati in diversi \addplot, invece di metterli tutti in uno (esattamente come si farebbe con un grafico a linee).
Peccato che, compilando, le etichette sull’asse x mi vengono stampate tutte, mentre mancano le barre agli estremi (infatti 9 etichette, 7 barre centrali), e le barre che mi vengono stampate sono anche spostate rispetto alla loro etichetta.
Questo è l’esempio minimo:
`
% !TEX encoding = UTF-8
% !TEX TS-program = pdflatex
% !TEX spellcheck = it-IT\documentclass[10pt, a4paper]{scrbook}
\usepackage{etex}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[italian]{babel}\usepackage{mparhack}
\usepackage[eulermath]{classicthesis}
\usepackage{arsclassica}\usepackage{pgfplots}
\pgfplotsset{/pgf/number format/use comma, compat=newest}\areaset[current]{336pt}{750pt}
\setlength{\marginparwidth}{7em}
\setlength{\marginparsep}{2em}\begin{document}
\begin{figure}
\centering
\begin{tikzpicture}
\begin{axis}[
width=\textwidth,
ybar,
ymin=0,ymax=100,
%xtick=data,
ymajorgrids=true,
ylabel={\% di inibizione},
xtick pos=left,
x tick label style=%
{rotate=60,anchor=east},
%xticklabel interval boundaries,
xtick={
A,
B,
C,
D,
E,
F,
G,
H,
I,
%L
},
symbolic x coords={
A,
B,
C,
D,
E,
F,
G,
H,
I,
%L
},
title={PBMC}
]\addplot+[
%ybar interval,
fill=cyan,
draw=black]
coordinates{
(A, 10)};\addplot+[
%ybar interval,
fill=green,
draw=black]
coordinates{
(B, 20)};\addplot+[
%ybar interval,
fill=gray,
draw=black]
coordinates{
(C, 30)};\addplot+[
%ybar interval,
fill=orange,
draw=black]
coordinates{
(D, 40)};\addplot+[
%ybar interval,
fill=cyan,
draw=black]
coordinates{
(E, 50)};\addplot+[
%ybar interval,
fill=purple,
draw=black]
coordinates{
(F, 60)};\addplot+[
%ybar interval,
fill=olive,
draw=black]
coordinates{
(G, 70)};\addplot+[
%ybar interval,
fill=white,
draw=black]
coordinates{
(H, 80)};\addplot+[
%ybar interval,
fill=red,
draw=black]
coordinates{
(I, 90)};%\addplot[
%%ybar interval,
%fill=red,
%draw=black]
%coordinates{
%(L, 0)};\end{axis}
\end{tikzpicture}
\caption{Inibizione}
\label{fig:inibizione}
\end{figure}\end{document}
`Il bello è che:
- non sembra dipendere dal numero di barre (e quindi da un problema di dimensioni del grafico): qualsiasi sia il numero, quelle agli estremi sono sempre tagliate
- togliendo ybar e passando da istogramma a punti, i punti vengono stampati tutti!
Sinceramente non saprei proprio cosa fare a questo punto. Qualcuno saprebbe aggiustare il problema?
Grazie!
- Devi essere connesso per rispondere a questo topic.