Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP

Loading…

Make ImageGraph BackgroundColor / TextColor customizable #3799

Closed
tsteur opened this Issue · 25 comments

5 participants

@tsteur
Owner

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

This is interesting for new mobile app.

@mattab
Owner

New mobile app with pretty graphs FTW

@tsteur
Owner

Attachment:
piwikgraph.png

@tsteur
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

@JulienMoumne
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) ?

@JulienMoumne
Collaborator

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

@JulienMoumne
Collaborator

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

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

@tsteur
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.

@tsteur
Owner

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

@JulienMoumne
Collaborator

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

@tsteur
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.

@tsteur
Owner

Attachment:
piwikGraph_1.png

@JulienMoumne
Collaborator

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

@tsteur
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

@JulienMoumne
Collaborator

Try this JulienMoumne/piwik@d189d5a

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

@tsteur
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.

@JulienMoumne
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?

@tsteur
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

@mattab
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

@tsteur
Owner

thx!

@JulienMoumne JulienMoumne was assigned by tsteur
@Dturner2

huh

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.