Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

Make ImageGraph BackgroundColor / TextColor customizable #3799

Closed
tsteur opened this Issue · 24 comments

4 participants

Thomas Steur Matthieu Aubry Julien Moumné Anonymous Piwik user
Thomas Steur
Owner

Make backgroundColor, textColor and axisColor of a graph customizable via URL parameters.

This is interesting for new mobile app.

Matthieu Aubry
Owner

New mobile app with pretty graphs FTW

Thomas Steur
Owner

Attachment:
piwikgraph.png

Thomas Steur
Owner

Graph does not have to look like the attachment but would be great to be able to set backgroundColor, textColor and axisColor to those colors via URL parameter.

@JulienM do you think you'll find some time to implement this in the next 4-6 weeks? Otherwise I'll maybe have a look at it

Julien Moumné
Collaborator

Yes I can have a look at it.

Could you give me examples of colors for each parameter?

Also, will you need to specify transparency for the background (and eventually for the other parameters) ?

Julien Moumné
Collaborator

Also, should it be possible to set the legend font color differently from the axes values font color?

Julien Moumné
Collaborator

I have committed in my repo three new ImageGraph API parameters $textColor, $backgroundColor and $gridColor : JulienMoumne@cd81123

If you can, do tell me if this is what you are looking for.

Thomas Steur
Owner

sure!

backgroundColor = #efefef
axisColor or gridColor = #dcdcdc

legendColor = #000000
labelColor = #000000
lineColor = #cb2026

I don't need to be able to change the different line colors of the evolution graph.

Thomas Steur
Owner

oh cool! Thx for working on that so fast. I will test it tomorrow.

Julien Moumné
Collaborator

From what I see you may need more granularity than what I implemented. Do tell me after testing if this is the case.

Thomas Steur
Owner

Looks good so far! Aweseome! See attachment piwikGraph_1.png. The only missing thing I need in addition is to be able to change the color of a line / bar (which is currently blue by default). I need to set it to "#cb2026". I need to change it only for static graphs, not for evolution graphs where 5 or 6 different colors are used.

Thomas Steur
Owner

Attachment:
piwikGraph_1.png

Julien Moumné
Collaborator

To change the color of the line and/or bars, try to use &colors=FF00FF on my branch commit.

Thomas Steur
Owner

Works perfect! You made my day! Thanks!

BTW: Not sure if it is related: When using this url to generate the graph:

http://apache.piwik/index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Referers&apiAction=getAll&period=day&date=2013-04-05,2013-04-07&filter_sort_column=nb_visits&column=nb_visits&columns=nb_visits&language=en&width=300&height=150&fontSize=9&showMetricTitle=0&aliasedGraph=1&legendAppendMetric=0&backgroundColor=efefef&gridColor=dcdcdc&colors=cb2026&showLegend=0

I'm getting this error which seems to only occur when graph is an evolution graph:

Warning: array_merge(): Argument #2 is not an array in /var/www/piwik/plugins/ImageGraph/StaticGraph.php on line 268 

Backtrace -->

#0 Piwik_ErrorHandler(...) called at [:]
#1 array_merge(...) called at [/var/www/piwik/plugins/ImageGraph/StaticGraph.php:268]
#2 Piwik_ImageGraph_StaticGraph->initpImage(...) called at [/var/www/piwik/plugins/ImageGraph/StaticGraph.php:279]
#3 Piwik_ImageGraph_StaticGraph->getTextWidthHeight(...) called at [/var/www/piwik/plugins/ImageGraph/StaticGraph/Exception.php:55]
#4 Piwik_ImageGraph_StaticGraph_Exception->renderGraph(...) called at [/var/www/piwik/plugins/ImageGraph/API.php:486]
#5 Piwik_ImageGraph_API->get(...) called at [:]
#6 call_user_func_array(...) called at [/var/www/piwik/core/API/Proxy.php:187]
#7 Piwik_API_Proxy->call(...) called at [/var/www/piwik/core/API/Request.php:138]
#8 Piwik_API_Request->process(...) called at [/var/www/piwik/plugins/API/Controller.php:25]
#9 Piwik_API_Controller->index(...) called at [:]
#10 call_user_func_array(...) called at [/var/www/piwik/core/FrontController.php:125]
#11 Piwik_FrontController->dispatch(...) called at [/var/www/piwik/index.php:47]

Link to that file:
https://github.com/JulienMoumne/piwik/blob/cd811234e4b838f651ef0ef5d1218175e19d204d/plugins/ImageGraph/StaticGraph.php

Julien Moumné
Collaborator

Try this JulienMoumne@d189d5a

You will still have an exception but this time it will be more explicit.

Thomas Steur
Owner

Seems to be fixed. The following error message is displayed within the graph now:

API returned an error. Refererrs.getAll with multiple sites or dates is not supported (yet).

But that's another issue which has nothing to do with the colors (API should not return an evolution graph url for this report). Refererrs.getRefererType works fine.

Julien Moumné
Collaborator

It seems there is an issue with metadata indeed. Could you create a separate ticket for the metadata issue?

Concerning the current ticket, could you confirm you have all you needed and that we can commit and close the ticket?

Thomas Steur
Owner

I can confirm I have all I needed. Thx again!

Will open a separate ticket for the other metadata issue.

Anonymous Piwik user

In cd81123: refs #3799 new ImageGraph API parameters $textColor, $backgroundColor and $gridColor (missing updated expected integration files)

Anonymous Piwik user

In d189d5a: refs #3799 new parameter $textColor is required to render exceptions

Anonymous Piwik user

In a57ca6a: fixes #3799 update expected integration files

every text is now of the same color
legend text color was and remains 222222
axes figures was 000000 and becomes 222222

Matthieu Aubry
Owner

excellent, I can't wait to see the new graphs that result of this ;-)

Anonymous Piwik user

In 25a5ac6: fixes #3799 apply colors to exception message

Thomas Steur
Owner

thx!

Julien Moumné JulienMoumne was assigned by tsteur
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.